package com.potenzacd.project.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.potenzacd.project.pojo.PdInfoReqsModule;
import com.potenzacd.project.pojo.ProductApprovalInfo;
import com.potenzacd.project.pojo.ProductInfo;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Cuidongdong
 * @since 2021-01-18
 */
public interface IPdInfoReqsModuleService extends IService<PdInfoReqsModule> {
    /**
     * 存为草稿（创建）
     * @param productInfo 要保存的产品信息下的功能模块
     */
    public void save4Draft(ProductInfo productInfo);

    /**
     * 提交审核（创建）
     * @param productInfo 要提交审核的产品信息下的功能模块
     */
    public void save4Approval(ProductInfo productInfo);

    /**
     * 存为草稿（修改）
     * @param productInfo 要修改的产品信息下的功能模块
     */
    public void edit4Draft(ProductInfo productInfo);

    /**
     * 提交审核（修改）
     * @param productInfo 要修改审核的产品信息下的功能模块
     */
    public void edit4Approval(ProductInfo productInfo);

    /**
     * 审核通过
     * @param productApprovalInfo 要审核的记录
     */
    public void pass(ProductApprovalInfo productApprovalInfo);

    /**
     * 审核不通过
     * @param productApprovalInfo 要审核的记录
     */
    public void notPass(ProductApprovalInfo productApprovalInfo);

    /**
     * 发布
     * @param code 要发布的产品下的功能信息标识
     */
    public void publish(String code);

    /**
     * 再次审核
     * @param productInfo 要审核的产品下功能信息
     */
    public void re4Approval(ProductInfo productInfo);

    /**
     * 作废
     * @param code 要作废的产品下功能信息
     */
    public void abort(String code);

    /**
     * 查询详情
     * @param code 要查看的标识
     * @return 产品下的功能模块信息
     */
    public ProductInfo datail(String code);


}
